package com.alks.function.service.finance.statement;

import com.alks.entity.data.page.PageParam;
import com.alks.entity.data.page.PageRecord;
import com.alks.entity.data.response.ResponseInfo;

import javax.servlet.http.HttpServletResponse;
import java.time.LocalDateTime;
import java.util.List;
import java.util.Map;

public interface GenerateProdReportService {

    ResponseInfo getMonthProd(String year);

    void exportMonthProd(String year, HttpServletResponse response);

    /**
     * 日产量报表
     *
     * @param request   分页器
     * @param startDate 起始日期
     * @param endDate   结束日期
     * @return 日产量报表分页数据
     */
    PageRecord<List<String>> getDailyProd(PageParam request, LocalDateTime startDate, LocalDateTime endDate);

    /**
     * 部门列表更新
     */
    void deptListUpdate();

    /**
     * 更新日报表数据
     * @param time 更新指定日期
     * @param day 更新前推天数
     */
    void ScheduleUpdateDayDhDeptProd(LocalDateTime time,Integer day);

    /**
     * 更新月产量
     * @return
     */
    ResponseInfo updateMonthProd(String year, String yearAndMonth ,String companyId);

    /**
     * 获取日产量明细
     *
     * @param prodStep
     * @param deptName
     * @param localDateTime
     * @return
     */
    Map<String, Object> getDailyProdDetail(String prodStep, String deptName, LocalDateTime localDateTime);
}
